package com.yami.shop.live.common.dao;

import cn.binarywang.wx.miniapp.bean.live.WxMaLiveResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yami.shop.bean.param.LiveRoomParam;
import com.yami.shop.common.util.PageAdapter;
import com.yami.shop.live.common.dto.LiveRoomDto;
import com.yami.shop.live.common.model.LiveRoom;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 *
 * @author lhd
 * @date 2020-08-05 08:53:17
 */
public interface LiveRoomMapper extends BaseMapper<LiveRoom> {

    /**
     * 批量修改直播间信息
     * @param roomInfos 直播间信息
     */
    void updateBatchByRoomId(@Param("roomInfos") List<WxMaLiveResult.RoomInfo> roomInfos);

    /**
     * 通过商品id获取直播间信息
     * @param prodId 商品id
     * @return 直播间信息
     */
    List<LiveRoomParam> getLivingRoomByProdId(@Param("prodId") Long prodId);

    /**
     * 获取直播间详细信息
     * @param page 分页信息
     * @param liveRoom 直播间信息
     * @return 直播间信息
     */
    List<LiveRoomDto> pageRoomAndDetail(@Param("adapter") PageAdapter page, @Param("liveRoom") LiveRoomParam liveRoom);

    /**
     * 获取直播间数量
     * @param liveRoom 直播间信息
     * @return 直播间数量
     */
    long countRoomAndDetail(@Param("liveRoom") LiveRoomParam liveRoom);
}
